de.cebis.moccabox.security.impl.hibernate
Class AuthorizationServiceImpl

java.lang.Object
  extended by de.cebis.moccabox.security.impl.hibernate.AuthorizationServiceImpl
All Implemented Interfaces:
IAuthorizationService

public class AuthorizationServiceImpl
extends java.lang.Object
implements IAuthorizationService

Implementierung des Interface IAuthorizationService für die Verwaltung von Nutzerrechten und -rollen auf Basis einer relationalen Datenbasis, auf die mit Hibernate als Peristenz-Framework zugegriffen wird.

Author:
weichelt

Field Summary
static java.lang.String ROLE_ADMIN
          Referenz auf die standardisierte Administrator-Rolle.
static java.lang.String USER_ADMIN_PASSWORD
          Referenz auf das Passwort des standardisierten Administrators.
static java.lang.String USER_ADMIN_USERNAME
          Referenz auf den Benutzernamen des standardisierten Administrators.
 
Constructor Summary
AuthorizationServiceImpl()
           
 
Method Summary
 boolean accessAllowed(de.cebis.moccabox.security.domain.User user, TaskCommand cmd)
          Überprüfen, ob der Zugriff eines bestimmten Anwenders für einen bestimmten Befehl erlaubt ist.
 de.cebis.moccabox.security.domain.Permission[] getPermissionsForRole(de.cebis.moccabox.security.domain.Role role)
          Zurückliefern aller Zugriffsberechtigungen, die einer bestimmten Rolle zugeordnet sind.
 de.cebis.moccabox.security.domain.Permission[] getPermissionsForRole(de.cebis.moccabox.security.domain.Role role, org.hibernate.Session s)
          Zurückliefern aller Zugriffsberechtigungen, die einer bestimmten Rolle zugeordnet sind.
 IRepository getRepository()
          Zurückgeben des IRepository, das die Informationen über die Anwendung und die Vorgangsobjekte enthält.
 org.hibernate.SessionFactory getSessionFactory()
          Zurückgeben der ConceptFactory, die für die Persistierung und das Auslesen von Konzepten aus der Datenbasis ist.
 boolean hasRole(de.cebis.moccabox.security.domain.User user, de.cebis.moccabox.security.domain.Role[] roles)
           
 void init()
          Initialisieren des Autorisierungsdienstes.
 void setRepository(IRepository repository)
          Setzen des IRepository, das die Metadaten über die Anwendung enthält.
 void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
          Setzen der Schnittstelle zum Persistenz-Framework.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROLE_ADMIN

public static java.lang.String ROLE_ADMIN
Referenz auf die standardisierte Administrator-Rolle.


USER_ADMIN_USERNAME

public static java.lang.String USER_ADMIN_USERNAME
Referenz auf den Benutzernamen des standardisierten Administrators.


USER_ADMIN_PASSWORD

public static java.lang.String USER_ADMIN_PASSWORD
Referenz auf das Passwort des standardisierten Administrators.

Constructor Detail

AuthorizationServiceImpl

public AuthorizationServiceImpl()
Method Detail

init

public void init()
Description copied from interface: IAuthorizationService
Initialisieren des Autorisierungsdienstes.

Specified by:
init in interface IAuthorizationService

getPermissionsForRole

public de.cebis.moccabox.security.domain.Permission[] getPermissionsForRole(de.cebis.moccabox.security.domain.Role role)
Description copied from interface: IAuthorizationService
Zurückliefern aller Zugriffsberechtigungen, die einer bestimmten Rolle zugeordnet sind.

Specified by:
getPermissionsForRole in interface IAuthorizationService
Parameters:
role - Die Rolle, nach deren Berechtigungen gefragt wird.
Returns:
Array der Berechtigungen der entsprechenden Rolle.

getPermissionsForRole

public de.cebis.moccabox.security.domain.Permission[] getPermissionsForRole(de.cebis.moccabox.security.domain.Role role,
                                                                            org.hibernate.Session s)
Zurückliefern aller Zugriffsberechtigungen, die einer bestimmten Rolle zugeordnet sind.

Parameters:
role - Die Rolle, nach deren Berechtigungen gefragt wird.
s - Aktuelle Transaktion auf der Datenbank, über die die Informationen abgeholt werden.
Returns:
Array der Berechtigungen der entsprechenden Rolle.

accessAllowed

public boolean accessAllowed(de.cebis.moccabox.security.domain.User user,
                             TaskCommand cmd)
Description copied from interface: IAuthorizationService
Überprüfen, ob der Zugriff eines bestimmten Anwenders für einen bestimmten Befehl erlaubt ist.

Specified by:
accessAllowed in interface IAuthorizationService
Parameters:
user - Anwender, der den Befehl ausführen möchte.
cmd - Der Befehl, den der Anwender ausführen möchte.
Returns:
True, falls der Anwender den Befehl ausführen darf. False, andernfalls.

hasRole

public boolean hasRole(de.cebis.moccabox.security.domain.User user,
                       de.cebis.moccabox.security.domain.Role[] roles)

getRepository

public IRepository getRepository()
Zurückgeben des IRepository, das die Informationen über die Anwendung und die Vorgangsobjekte enthält.

Returns:
Repository der Metadaten über die Anwendung.

setRepository

public void setRepository(IRepository repository)
Setzen des IRepository, das die Metadaten über die Anwendung enthält.

Parameters:
repository - Repository der Metadaten über die Anwendung.

getSessionFactory

public org.hibernate.SessionFactory getSessionFactory()
Zurückgeben der ConceptFactory, die für die Persistierung und das Auslesen von Konzepten aus der Datenbasis ist. Sie stellt die Schnittstelle zum darunter liegenden Persistenz-Rahmenwerk dar. Es kann sich dabei um eine JDBC-Connection, eine Hibernate SessonFactory oder einen Java Persistence Entity Manager handeln.

Returns:
Schnittstelle zum Peristenz-Rahmenwerk

setSessionFactory

public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Setzen der Schnittstelle zum Persistenz-Framework.

Parameters:
sessionFactory - Schnittstelle zum Peristenz-Rahmenwerk.